'use strict'
//引入要使用的模块
let fs = require('fs');
let {sequelize} = require('../Db');

//查找model下的所有模型定义文件
function searchModel() {
    //异步读取model下的文件
    let files = fs.readdirSync(__dirname);
    //过滤文件
    return files.filter(name => {
        return name.endsWith('.js') && name != 'index.js';
    });
}

//注册所有模型定义
function registerModel(files){
    //创建一个对象相当于一个表
    let obj={};
    //遍历文件(???)
    files.forEach(name => {
        let modelname=name.substring(0,name.length-3);
        obj[modelname]=require(__dirname+'/'+name);
    });
    return obj;
}

let files=searchModel();
let obj=registerModel(files);

//模型同步
obj.sync= async()=>{
    return sequelize.sync({force:true});
};
module.exports=obj;